// pages/index.js
import '../../utils/request'
import request from "../../utils/request";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    bannerList: [],
    recommendSong: [],
    topList: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    let result =  await request("/banner",{type: 2})
    console.log("结果为：",result)
    this.setData({
      bannerList: result.banners
    })

    let recommendSongList =  await request("/personalized", { limit: 10 })
    console.log("推荐歌单：", recommendSongList)
    this.setData({
      recommendSong: recommendSongList.result
    })

    // 所有榜单查询出来所有id,这里取前五条吧
    let topIdInfo =  await request("/toplist",{})
    let topIdList = topIdInfo.list.slice(0, 5).map(item => item.id)

    // 有了id之后，通过id查询出榜的数据
    let resultArr = []
    for (const topId of topIdList) {
      let hostSongData =  await request("/playlist/detail", {id : topId})
      let topListItem = {name: hostSongData.playlist.name, tracks: hostSongData.playlist.tracks.slice(0,3)}
      resultArr.push(topListItem)

      // 在里面更新的好处时，不用等全部完成才进行渲染
      this.setData({
        topList: resultArr
      })
    }

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
